_gdk_x11_window_tmp_reset_bg ((GdkWindow *)obj->parent, FALSE);
}
+static void
+map_if_needed (GdkWindow *window, GdkXPositionInfo *pos_info)
+{
+ GdkWindowObject *obj = (GdkWindowObject *) window;
+ GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (obj->impl);
+
+ if (!impl->position_info.mapped && pos_info->mapped && GDK_WINDOW_IS_MAPPED (obj))
+ XMapWindow (GDK_DRAWABLE_XDISPLAY (window), GDK_DRAWABLE_XID (window));
+}
+
+static void
+unmap_if_needed (GdkWindow *window, GdkXPositionInfo *pos_info)
+{
+ GdkWindowObject *obj = (GdkWindowObject *) window;
+ GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (obj->impl);
+
+ if (impl->position_info.mapped && !pos_info->mapped)
+ XUnmapWindow (GDK_DRAWABLE_XDISPLAY (window), GDK_DRAWABLE_XID (window));
+}
+
void
_gdk_window_move_resize_child (GdkWindow *window,
gint x,
reset_backgrounds (window);
- if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
- XMapWindow (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window));
+ map_if_needed (window, &new_info);
impl->position_info = new_info;
if (is_move && is_resize)
gdk_window_set_static_gravities (window, FALSE);
- if (impl->position_info.mapped && !new_info.mapped)
- XUnmapWindow (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window));
+ unmap_if_needed (window, &new_info);
g_list_foreach (obj->children, (GFunc) gdk_window_premove, &parent_pos);
reset_backgrounds (window);
- if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
- XMapWindow (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window));
+ map_if_needed (window, &new_info);
impl->position_info = new_info;
}
this_pos.x11_y = parent_pos->x11_y + new_info.y;
this_pos.clip_rect = new_info.clip_rect;
- if (impl->position_info.mapped && !new_info.mapped)
- XUnmapWindow (GDK_DRAWABLE_XDISPLAY (window), GDK_DRAWABLE_XID (window));
+ unmap_if_needed (window, &new_info);
d_xoffset = new_info.x_offset - impl->position_info.x_offset;
d_yoffset = new_info.y_offset - impl->position_info.y_offset;
new_info.x, new_info.y, new_info.width, new_info.height);
}
- if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
- XMapWindow (GDK_DRAWABLE_XDISPLAY (window), GDK_DRAWABLE_XID (window));
+ map_if_needed (window, &new_info);
reset_backgrounds (window);